<?php  namespace Admin\Controller;
use Hdphp\Controller\Controller;
//类型管理控制器
class  CateController extends   CommonController{
			private $model;
			public function __construct(){
					//为了防止覆盖父级的构造方法
					parent::__construct();
					//实例化自定义的模型
					$this->model=new \Common\Model\Cate;
			}
			//显示分类
			public function index(){
				//获取所有的分类数据
				$data=$this->model->get();
				//让分类呈树状显示
				$treeData=Data::tree($data,'cname','cid','pid');
				//分配数据
				View::with('data',$treeData);
				//载入页面
			    View::make();
			}
			//添加顶级分类
			public function add(){
				if(IS_POST){
					//调用模型的添加方法
					if($this->model->addData()){
						//成功提示，并跳转
						View::success('添加成功',U('index'));
					}
					//提示错误
					View::error($this->model->getError());
				}
				//载入页面
			    View::make();
			}
			//删除分类
			
			public function del(){
			    //接收get传递过来的cid
			    $cid=Q('get.cid',0,'intval');
				//执行删除
				$this->model->where("cid={$cid}")->delete();
				//删除成功提示
				View::success('删除成功');
			}
			//编辑分类
			public function edit(){
				//3.修改
				if(IS_POST){
					
					//调用模型的修改方法
					if($this->model->editData()) View::success('修改成功',U('index'));
					//提示错误
					view::error($this->model->getError());
				}
			    //1.获得旧数据
			    $cid=Q('get.cid',0,'intval');
				//调用模型的修改方法，修改get传递过来的id
				$oldData=$this->model->where("cid={$cid}")->find();
				View::with('oldData',$oldData);
				//2.处理所属分类(父级分类不能使子级和自己的子级)
				$cate=$this->model->getNoMy($cid);
				//显示树状的数据
				$cate=Data::tree($cate,'cname');
				//处理所属类型
				$typeModel = new \Common\Model\Type;
				$typeData = $typeModel->get();
				//分配变量
				View::with('cate',$cate);
				View::with("typeData",$typeData);
				//载入页面
				View::make();
			}
			//添加子级分类
			public function addSon(){
				//如果提交了就执行下一步
				if(IS_POST){
//					//调用模型的添加方法
					if($this->model->addData()){
						//成功提示，跳转
						View::success('添加成功',U('index'));
					}
					//错误提示
					View::error($this->model->getError());
				}
				$typeModel = new \Common\Model\Type;
				$typeData = $typeModel->get();
				View::with('typeData',$typeData);
				//获得所属分类的名称和cid
				//接收get里面的cid，默认值为0，强制转整
				$cid=Q('get.cid',0,'intval');
				
				//调用模型类的添加方法 find 找单个
				$data=$this->model->where("cid={$cid}")->field('cid,cname')->find();
				//分配变量
				View::with('data',$data);
				//载入页面
				View::make();
			}
}